#ifndef CONTROLLERSTACK_H_
#define CONTROLLERSTACK_H_

#include "PilaCompartida.h"

class ControllerStack
{
private:
	PilaCompartida<unsigned long> controller_stack;
public:
	ControllerStack(const std::string & file_path, int max_size);
	virtual ~ControllerStack();
	unsigned long pop();
	void push(unsigned long a_controller);
	bool isEmpty();
	//llamar una única vez, inicializa los semaforos
	static void init(ControllerStack & a_stack);

	static const std::string defaul_path;
};

#endif /* CONTROLLERSTACK_H_ */
